home *** CD-ROM | disk | FTP | other *** search
/ QuickTime 2.0 Developer Kit / QuickTime 2.0 Developer Kit.iso / mac / MAC / Programming Stuff / Sample Code / Music Architecture / Embedding Instruments / FlatInstrumentTest.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-06-04  |  1.4 KB  |  52 lines  |  [TEXT/KAHL]

  1. #include <QuickTimeComponents.h>
  2. #include <types.h>
  3.  
  4.  
  5. typedef struct
  6.     {
  7.     ToneDescription tone;
  8.     long    size;
  9.  
  10.     long    z1;                        /* must be zero */
  11.     long    quality;                /* 5 */
  12.     long    stereoPan;                /* 0 */
  13.     long    stereoSpread;            /* 0 */
  14.     long    transpose;                /* 1 */
  15.     long    flags;                    /* 0 */
  16.     long    pitchRandomness;        /* 0 */
  17.     long    volumeAttackRate;        /* 10 */
  18.     long    volumeDecayRate;        /* 400 */
  19.     long    volumeSustainLevel;        /* 38174 */
  20.     long    volumeNaturalDecayRate;    /* 64640 */
  21.     long    volumeReleaseRate;        /* 250 */
  22.     long    z[12];                    /* must all be zero */
  23.     long    k1;                        /* must be 1 */
  24.     long    z2;
  25.     long    k127;                    /* must be 127 */
  26.     long    maxInterpolation;        /* 3 is a good number, 0 is cheapest */
  27.     long    z3;
  28.     long    k124;                    /* must be 124 */
  29.     long    z4;
  30. /* This is the 'snd ' */
  31.     long    k0x00010001;
  32.     long    k0x00050000;
  33.     long    k0x00A00001;
  34.     long    k0x80510000;
  35.     long    k0x00000014;
  36.     long    z5;
  37.     long    sampleLength;            /* number of bytes in sample data */
  38.     Fixed    sampleRate;                /* fixed pt samples/second */
  39.     long    loopStart;                /* first byte of loop, or zero for no loop */
  40.     long    loopEnd;                /* last byte of loop, or zero for no loop */
  41.     short    midiKey;                /* pitch produced by sampleRate */
  42.  
  43.     unsigned char sample[1];        /* sample data */
  44.     } SingleFlatInstrument;
  45.  
  46.  
  47. #define kFlatInstrumentNoSndSize (sizeof(ToneDescription) + 128)
  48.  
  49.  
  50. FlatInstrument *CreateFlatInstrument(void);
  51. FlatInstrument *CreateFlatInstrumentFromSnd(short id);
  52.